package modele.stockage;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

import modele.contact.*;


public class Carnet {
	private ArrayList<Personne> liste;
	
	public Carnet(){
		this.liste = new ArrayList<Personne>();
	}
	
	public void ajouter(Personne p1) throws CarnetException{
		
		if (liste.contains(p1) == false) {
			this.liste.add(p1);
		}
		else
			throw new CarnetException("Ajout impossible : Contact existant");
	}
	
	public void suppression(Personne p1) throws CarnetException{
		
		if (this.liste.contains(p1) == true) {
			this.liste.remove(p1);
		}
		else
			throw new CarnetException("Suppression impossible : Contact inexistant");
	}
	
	public void modifier(Personne p1, Personne p1Bis) throws CarnetException{
		if (liste.contains(p1Bis) == false) {
			liste.set(this.liste.indexOf(p1), p1Bis);
		}
		else
			throw new CarnetException("Modification impossible : Contact existant");
	}
	
	public int chercherContact(Personne p) throws CarnetException{
		
		if (liste.contains(p)) {
			return liste.indexOf(p);
		}
		else
			throw new CarnetException("Contact inexistant");
	}

	@Override
	public String toString() {
		return "Tableau [" + liste + "]";
	}
	
}